<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
  </ul>
  <script>
    // 1. Array.from() 可以将伪数组转换成真数组
  /*   const lis = document.querySelectorAll('li') // NodeList集合 伪数组
  //  console.log([...lis]) // es6的展开运算符 [] 转换成了数组
  const result = Array.from(lis)
  console.log(result); */
  // 2. 可以配合 new Array() 批量生产出数据 Array.from()   
  // 创建数组的两种方式 字面量 []  new Array()
  // new Array() 如果只传递一个数字 生成对应数字长度的数组 数组元素都是empty
  // 写了两个数组以上 就和字面量创建的方式又一样了
  // let arr  = [10,100]
  // let arr2 = new Array(10, 100)
  // console.log(arr);
  // console.log(arr2);
// -----------------------------
// 2. 可以配合 new Array() 批量生产出数据 Array.from()   
// Array.from 参数一是要转换的数据,参数2是一个遍历的函数,这个函数类似于map
 const res = Array.from(new Array(11),(value, index)=>{
    // console.log(value); 是每一项
    // console.log(index); 索引号
    // return {name: 'zs' + index}
    return index + 2021 - 5
  })
  console.log(res);

  let arr3 = [1,1,1,12]
  console.log(Array.from(arr3));
  </script>
</body>
</html>